{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "df442d9a",
   "metadata": {},
   "source": [
    "## *2023-11-08\n",
    "## *课程：python语言\n",
    "## *week08（第10周）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f96c60ea",
   "metadata": {},
   "source": [
    "# 1.本周内容\n",
    "## 1.列表的数据处理（列表的方法）\n",
    "> 1. 查寻数据\n",
    ">>1. index （）按照索引值查寻数据，并取出值\n",
    ">>2. slice 切片方法取值\n",
    ">>3. in 方法查询元素是否存在\n",
    "> 2. 增加数据\n",
    ">>1. append () 增加在末尾\n",
    ">>2. insert () 指定位置增加\n",
    "> 3. 删除数据\n",
    ">>1. pop(指定位置删除)\n",
    ">>2. remove()指定结果（值）删除\n",
    ">>3. clear() 清空列表\n",
    "> 4. 修改数据\n",
    ">>1. 找到index进行修改\n",
    "> 5.其他方法\n",
    ">>1. 排序sort() reverse()\n",
    ">>2. 复制copy()\n",
    "## 2.元组\n",
    "## 3.列表实践"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "860eaa11",
   "metadata": {},
   "source": [
    " ## 1.1 列表的删除\n",
    " > 1. pop()\n",
    " >> 1. 默认删除列表中的最后一位\n",
    " >> 2. 指定位置进行删除\n",
    " >> 3.注意事项：避免value error的出现，先检查元素是否存在 in\n",
    " >> 3.注意事项：\n",
    " > 2. remove()\n",
    ">> 1. 指定结果（值）删除\n",
    ">> 2. 注意事项：避免value error的出现，先检查元素是否存在 in"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d4e2a422",
   "metadata": {},
   "source": [
    "### 1.pop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7ef86b0f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function pop:\n",
      "\n",
      "pop(index=-1, /) method of builtins.list instance\n",
      "    Remove and return item at index (default last).\n",
      "    \n",
      "    Raises IndexError if list is empty or index is out of range.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help (name_list.pop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "86a37735",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['小明', '张三', '小红', '李晓明']\n"
     ]
    }
   ],
   "source": [
    "name_list = [\"小明\",\"张三\",\"小红\",\"李晓明\"]\n",
    "print(name_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "f4427521",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'李晓明'"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "50ad3b34",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'李晓明'"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list.pop()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "d8e6bc67",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['张三，李华，李鹏，李小明']"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "f86623a9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'小红'"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list.pop(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "70cdf033",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['小明']"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "24d70e07",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 先检查列表长度\n",
    "len(name_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "8ad0c78b",
   "metadata": {},
   "outputs": [
    {
     "ename": "IndexError",
     "evalue": "pop index out of range",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mIndexError\u001b[0m                                Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[83], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m name_list\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;241m5\u001b[39m)\n",
      "\u001b[1;31mIndexError\u001b[0m: pop index out of range"
     ]
    }
   ],
   "source": [
    "name_list.pop(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "70265516",
   "metadata": {},
   "source": [
    "### 2.remove"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "c0102517",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function remove:\n",
      "\n",
      "remove(value, /) method of builtins.list instance\n",
      "    Remove first occurrence of value.\n",
      "    \n",
      "    Raises ValueError if the value is not present.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(name_list.remove)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "dcd007af",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['小明', '张三', '小红', '李晓明']\n"
     ]
    }
   ],
   "source": [
    "name_list = [\"小明\",\"张三\",\"小红\",\"李晓明\"]\n",
    "print(name_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "id": "4f84ec72",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "name_list.remove(\"小红\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "6dcd9fbc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['小明', '张三', '李晓明']"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "id": "ec27f3f0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 先查询是否存在该值\n",
    "\"小红\" in name_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "id": "ec1a5c05",
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "list.remove(x): x not in list",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[93], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m name_list\u001b[38;5;241m.\u001b[39mremove(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m小红\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
      "\u001b[1;31mValueError\u001b[0m: list.remove(x): x not in list"
     ]
    }
   ],
   "source": [
    "name_list.remove(\"小红\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0bfd09c5",
   "metadata": {},
   "source": [
    "### 3.clear（）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "12b179c2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['小明', '张三', '小红', '李晓明']\n"
     ]
    }
   ],
   "source": [
    "name_list = [\"小明\",\"张三\",\"小红\",\"李晓明\"]\n",
    "print(name_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "id": "3911c1d7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function clear:\n",
      "\n",
      "clear() method of builtins.list instance\n",
      "    Remove all items from list.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(name_list.clear)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "38f359e9",
   "metadata": {},
   "outputs": [],
   "source": [
    "name_list.clear()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "id": "0be11799",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f709d51c",
   "metadata": {},
   "source": [
    "## 2. 排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "9938d8b3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[18, 19, 17, 20, 21, 19, 18]"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age_list=[18,19,17,20,21,19,18]\n",
    "age_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "dab15319",
   "metadata": {},
   "outputs": [],
   "source": [
    "age_list.sort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "a84268f1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[17, 18, 18, 19, 19, 20, 21]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "c0c027b5",
   "metadata": {},
   "outputs": [],
   "source": [
    "age_list.reverse()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "97f34caf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[21,20,19,19,18,18,17]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age_list"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d139bf76",
   "metadata": {},
   "source": [
    "## 3.复制"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "38920074",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['张三，李华，李鹏，李小明']\n",
      "2493675585024\n"
     ]
    }
   ],
   "source": [
    "name_list =[\"张三，李华，李鹏，李小明\"]\n",
    "print(name_list)\n",
    "print(id(name_list))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "12fda03b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['张三，李华，李鹏，李小明']"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "存档_name_list =name_list\n",
    "存档_name_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "c85eac83",
   "metadata": {},
   "outputs": [],
   "source": [
    "name_list.append(\"jalex\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "b2b8406f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['张三，李华，李鹏，李小明', 'jalex']"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 存档_name_list 的结果会不会发生变化？\n",
    "name_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "43022e9d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['张三，李华，李鹏，李小明']\n",
      "2493675669888\n"
     ]
    }
   ],
   "source": [
    "# 综上。并不能真正的复制，接下来看一下copy\n",
    "name_list =[\"张三，李华，李鹏，李小明\"]\n",
    "print(name_list)\n",
    "print(id(name_list))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "09790f1c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['张三，李华，李鹏，李小明']\n",
      "2493675669888\n"
     ]
    }
   ],
   "source": [
    "copy_name_list =name_list.copy()\n",
    "print (copy_name_list)\n",
    "print(id(name_list))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "831295f4",
   "metadata": {},
   "outputs": [],
   "source": [
    "name_list.append(\"jalex\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "963d1a4a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['张三，李华，李鹏，李小明', 'jalex']"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "name_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "b8ec802f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['张三，李华，李鹏，李小明']"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "copy_name_list"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d061cce3",
   "metadata": {},
   "source": [
    "## 2.元组"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "f24e6711",
   "metadata": {},
   "outputs": [],
   "source": [
    "t=12345,54321,\"hello\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "ea061ada",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(12345, 54321, 'hello')\n",
      "<class 'tuple'>\n"
     ]
    }
   ],
   "source": [
    "print(t)\n",
    "print(type(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "2539762a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(12345, 54321, 'hello')"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t=(12345,54321,\"hello\")\n",
    "t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "ce7cb1bf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12345"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "36dbce52",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(12345, 54321)"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t[0:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "9b16aa46",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t.index(54321)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "5f355f8f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t.count(12345)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "2c84b838",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "time.struct_time(tm_year=2023, tm_mon=11, tm_mday=8, tm_hour=11, tm_min=31, tm_sec=59, tm_wday=2, tm_yday=312, tm_isdst=0)"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#案例：\n",
    "import time\n",
    "time.localtime()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "516129cd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1699414400.988114"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "703eb813",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 实践"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84254226",
   "metadata": {},
   "source": [
    "\n",
    "购物车程序项目：\n",
    "\n",
    "要求：\n",
    "     1、运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户。\n",
    "\n",
    "　　  2、让用户输入商品编号进行商品的购买。\n",
    "\n",
    "　　  3、用户选择商品后，检查用户的余额是否够，若够则直接扣款，不够则提醒用户。\n",
    "\n",
    "　　  4、用户可以随时退出购买，退出时打印用户已购买的商品和支付宝余额。\n",
    "1. alipay = input()\n",
    "\n",
    "商品列表 = [ ]\n",
    "购物车 = [ ]\n",
    "\n",
    "print(商品列表)\n",
    "\n",
    "2. user_choose = input()\n",
    "\n",
    "if 商品价格 > alipay \n",
    "    1.\n",
    "else:\n",
    "    2.\n",
    "\n",
    "3. 购物车.append（购买到的商品）\n",
    "\n",
    "4. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c8880998",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "#1、运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户。\n",
    "alipay = input(\"请输入你的余额：\")\n",
    "\n",
    "商品列表 = [\n",
    "   [\"电瓶车\",600],\n",
    "    [\"iphone 15 \",8999],\n",
    "    [\"mate-60 \",7999],\n",
    "    [\"珍珠奶茶 \",7],\n",
    "    [\"python书 \",89]\n",
    "]\n",
    "购物车 = [] # 当用户选择商品时，增加进购物车\n",
    "\n",
    "while True:\n",
    "    print('-------校园二手市场(输入\"quit\"时退出）--------\")\n",
    "    for i in 商品列表:\n",
    "        print(\"商品列表：%s, 商品名称：%s, 商品价格：%s 元\"%(商品列表.index(i),i[0],i[1]))\n",
    "\n",
    "    # 2、让用户输入商品编号进行商品的购买。【\"int()\"转换为数值型】1\n",
    "    # 3、用户选择商品后，检查用户的余额是否够，若够则直接扣款，不够则提醒用户。\n",
    "\n",
    "    user_choose = input(\"请输入商品编号: \")\n",
    "    #条件判断1：判断用户输入的是商品编号还是其他？\n",
    "    \n",
    "    if user_choose。isdigit():\n",
    "        #条件判断2：商品价格 和 余额 ，两种可能，使用if条件判断\n",
    "        if 商品列表[int (user_choose)][1] < int(alipay):\n",
    "            #1.余额 > 商品价格，购买成功\n",
    "            alipay = int(alipay) - 商品列表[int (user_choose)][1]\n",
    "            购物车.append(商品列表[int(user_choose)])\n",
    "            print(\"%s 已购买成功，您的余额还有： %s 元\"%(商品列表[int(user_choose)][0],alipay))\n",
    "        else:\n",
    "            print(\"就%s元，还想买%s，逛一逛别的商品吧~\"%(alipay,商品列表[int(user_choose)][0]))\n",
    "    # 4.用户可以随时退出购买，退出时打印用户已购买的商品和支付宝余额。\n",
    "    elif user_choose ==\"quit\":\n",
    "        print(\"你的购物车：%s，您的余额还剩：%s 元\"%(购物车，alipay))\n",
    "        break\n",
    "        else:\n",
    "            print(\"请输入正确的商品编号，或者输入'quit'退出\")\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "32a36a85",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "40ac409e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4f675e70",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "62325ed6",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "19ff679b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "6701517d",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
